There are many situations where it is useful to identify a media object or objects, e.g., songs, movies, plays, books etc., that are similar to another media object. Before electronic commerce, such determinations were made by people who had broad knowledge of the media available at the time. For example, the owner of a music or video store might recommend a particular item to a customer based on the owner's knowledge of the customer's tastes and the catalog of media. The value of the recommendation to the customer, however, was dependent on the owner's ability to accurately assess the customer's tastes as well as the owner's depth of knowledge of the available media.
With the emergence of digital media, users and those who recommend music are now faced with the problem of too much choice. There is simply more media available to the user now than they will ever be able to consume. Traditional media discovery methods such as searching for a track by artist, album or title are no longer sufficient. The user is restricted to what they already know, which is a constantly shrinking piece of an ever increasing media pie. Using genre as the primary discovery mechanism is also not sufficient as genre is often difficult to pin down, with two people often classifying the same piece of music into completely different genres.
One of the more popular mechanisms for facilitating media discovery is the personalized recommendation system. Such systems are typically based on a collaborative filtering approach, in which knowledge of a first user's tastes is recorded and compared to those of other users in order to find users with similar tastes. If a match is found, then songs liked by the matching user are recommended to the first user.
One drawback of this approach is that it is not useful unless there is sufficient knowledge of a user's tastes to begin making correlations to other users. This makes the approach unsuited to anonymous systems and, for best performance, requires significant amounts of information regarding a user's tastes to be collected first.
Existing recommendation systems also do not take into account the context of how the user is feeling at the moment. Users may have broad musical tastes, but what they want to hear at any point in time is highly influenced by their mood, or what they happen to be doing. Last week they may have been happily listening to hardcore metal, but yesterday they wanted nothing but upbeat dance music. Today it's raining and they're feeling mellow. Traditional recommendation engines end up averaging these disparate sets of music together.